草庐IT

Java TLS-PSK 套接字

全部标签

python - 套接字错误 "IP address not valid in its context"- Python

我正在使用Python2.6和WindowsServer2008。服务器有两个IP地址,1个内部地址,1个外部地址。我需要Python来使用外部IP地址,但这样做时我得到了这个:socket.error:[Error10049]Therequestedaddressisnotvalidinitscontext更准确地说,对于熟悉它的人,我正在使用Django的runserver命令编辑:ipconfig只显示内部IP地址,而我运行的所有服务都在使用外部IP,没有任何问题!有什么想法吗? 最佳答案 这是当您尝试绑定(bind)到本地计

Python:如何区分套接字错误和超时?

我有以下代码:try:while1:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.settimeout(5);s.connect((HOST,PORT))print("beforesend")#time.sleep(10);#s.sendall('GET/HTTP/1.1\r\nConnection:Keep-Alive\r\nHost:www.google.lt\r\n\r\n')data=s.recv(52)print("aftersend");s.close()ifstring.find(data,"HTTP/1.1200

python - 在 Python 中获取 UDP 套接字程序以接受来自 Syslog 客户端的消息?

我正在尝试编写一个Syslog监听器,到目前为止,它很好地让它通过TCP接受传入消息,但我也希望UDP能够运行。这是我正在使用的UDP服务器代码,它使用python客户端应用程序工作。我还有另一个应用程序,它也可以只使用python客户端应用程序。#Serverprogram#UDPVERSIONfromsocketimport*#Setthesocketparametershost="localhost"port=514buf=1024addr=(host,port)#CreatesocketandbindtoaddressUDPSock=socket(AF_INET,SOCK_DG

python - 捕获套接字超时异常

我想捕获套接字超时(最好是在异常中)...excepturllib.error.URLError:可以捕获它,但我需要区分死链接和超时。...如果我取出excepturllib.error.URLError:套接字超时不会捕获并且脚本会因socket.timeout错误而终止importurllib.request,urllib.parse,urllib.errorimportsocketimporthttpsocket.setdefaulttimeout(0.1)try:file2=urllib.request.Request('http://uk.geforce.com/html:

使用 asyncio 的 Python 简单套接字客户端/服务器

我想使用asyncio协程而不是多线程重新实现我的代码。服务器.pydefhandle_client(client):request=Nonewhilerequest!='quit':request=client.recv(255).decode('utf8')response=cmd.run(request)client.send(response.encode('utf8'))client.close()server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)server.bind(('localhost',15555))ser

python - 将 IPv6 地址绑定(bind)到 Python 套接字作为源 IP 地址

我以前使用下面的代码将IPv4地址绑定(bind)到Python套接字作为源IP地址。importsockettrue_socket=socket.socketdefbound_socket(*a,**k):sock=true_socket(*a,**k)sock.bind((sourceIP,0))returnsocksocket.socket=bound_socket以上代码是否适用于IPv6地址?如果没有,如何绑定(bind)IPv6地址?提前致谢! 最佳答案 你可以试试这个,要获得一个IPV6地址,推荐你使用socket.g

python - 检查路径是否是 Python 2.7 中的套接字

Python2.7中判断路径是否为套接字的最佳方法是什么?os.path具有是...directories的功能,normalfiles和links.stat模块提供一些S_IS...功能,如S_ISSOCK(mode)我用作importos,statpath="/path/to/socket"mode=os.stat(path).st_modeisSocket=stat.S_ISSOCK(mode)print"%sissocket:%s"%(path,isSocket)这是首选方式吗? 最佳答案 好吧,这很简单并且有效,所以我将其

python - 非阻塞套接字,错误总是

sock.setblocking(0)try:data=sock.recv(1024)exceptsocket.error,e:ife.args[0]==errno.EWOULDBLOCK:print'EWOULDBLOCK'else:ifnotdata:#recvoversock.close()print'close================='else:print'recv---data---------'poem+=data以上所有代码都在一个循环中。使用非阻塞套接字(只是想测试“非阻塞套接字”)来获取数据。但总是打印'EWOULDBLOCK',我不知道为什么?

python 套接字阻止 recv 挂起?

我正在尝试使用套接字在pygame中创建一个两人游戏,问题是,当我尝试在此行上接收数据时:message=self.conn.recv(1024)python挂起,直到它获得一些数据。这个问题是当客户端没有通过套接字发送任何东西并导致黑屏时暂停游戏循环。我怎样才能阻止recv这样做?提前致谢 最佳答案 使用非阻塞模式。(参见socket.setblocking。)或者在调用recv之前检查是否有数据可用。例如,使用select.select:r,_,_=select.select([self.conn],[],[])ifr:#rea

python - 如何在 python 中使用 tcp 套接字发送 json 对象

这是我的pythontcp客户端。我想向服务器发送一个json对象。但我无法使用sendall()方法发送该对象。我该怎么做?importsocketimportsysimportjsonHOST,PORT="localhost",9999m='{"id":2,"name":"abc"}'jsonObj=json.loads(m)data=jsonObj#Createasocket(SOCK_STREAMmeansaTCPsocket)sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)try:#Connecttoserverand